/**
  ETFAna project, Anyang Normal University && IMP-CAS
  \class ETFTimer4
  \brief a plastic scintillator (square) plate with its four corners each coupled
  with a PMT
  \author SUN Yazhou, asia.rabbit@163.com
  \since 2022-04-25
  \date 2021-04-25 last modified
  \attention
  changelog
  <table>
  <tr>  <th>Date         <th>Author      <th>Description                   </tr>
  <tr>  <td>2022-04-25   <td>Asia Sun    <td>file created                  </tr>
  </table>

  \copyright Copyright (c) 2021-2024 Anyang Normal U. && IMP-CAS with LGPLv3 LICENSE
*/

#ifndef ETFTimer4_h
#define ETFTimer4_h

#include "ETFTimer.h"

class ETFTimer4 : public ETFTimer{
public:
  ETFTimer4() : ETFTimer(){}
  ETFTimer4(const char *name, double length = 50.);

  virtual ~ETFTimer4(){}

  virtual void Assign(const ETFRawChannel *ch, unsigned uid) override; ///< add the data channel to the detector

  virtual double GetTime() const override; ///< extract the timing data of the detector
  virtual int GetFiredStatus() const override; ///< \retval fHits[0]->GetFiredStatus()
  virtual void ConstructGraph() override; ///< add strip to fGDumb
  virtual void DrawHits() override; ///< draw the hits

  // ClassDefOverride(ETFTimer4, 0);

protected:
  /// \param vh: 0-1: v, h
  virtual void AddHit(const ETFRawChannel *ch, int idvh);
};

#endif
